//使用位运算符，实现交换如下两个变量的值
/*
思路，因为要求是位运算，我们把目标放在三个位运算符上面，&、|、^
把1和2都用二进制表示，1是0001,2是0010，我们想要不使用中间变量来直接对两个值进行交换
可以参考不使用第三个值来交换两值的方法，先求和，之后再相减
由此，我们发现，只有使用^才能将信息全部收集到一起，所以我们现使用^来求值
 之后我们运算发现，他们和这个^后的值再进行^，正好能得出另一个值，所以，思路由此
 */
public class Homework_16 {
    public static void main(String[] args) {
        int a = 1;
        int b = 2;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
        a = a ^ b;
        b = a ^ b;
        a = a ^ b;
        System.out.println("a = " + a);
        System.out.println("b = " + b);
    }
}
